昨天學會了如何與題目進行連線,今天來學學其他常用的Linux指令吧
小提醒:picoCTF有內建Webshell,不需要自己另外安裝ㄛ
在這裡 ⬇
事不宜遲讓我們進入第一題吧!
這題會需要下載檔案跟打開檔案,所以我們就用這題來學 wget 跟 cat 指令吧:D
解題前小教室:
wget
從網絡上下載檔案的命令行工具
用法:wget [選項] <URL>
-O
選項指定檔案名稱🌰wget -O myfile.zip https://example.com/file.zip
-c
選項繼續下載未完成的部分-b
背景下載--no-check-certificate
跳過憑證檢查
cat
顯示檔案內容
用法:cat 檔名
這題我們先用 wget 將檔案下載下來後用 cat 查看檔案內容就能獲得flag啦~
解題前小教室:
find
在指定目錄及其子目錄中搜尋檔案或目錄
用法:find [起始目錄] [搜尋條件] [操作]-name
搜尋名稱符合特定模式的檔案🌰find . -name "example.txt"
-iname
可以忽略大小寫進行搜尋-type
來指定搜尋類型 f
:檔案、d
:目錄🌰find . -type d
-perm
搜尋特定權限的檔案🌰find . -perm 644
-exec
執行命令🌰find . -name "*.txt" -exec ls -l {} \\;
-delete
刪除檔案🌰find . -name "*.tmp" -delete
這題要在一個資料夾中找到名稱為uber-secret.txt
的檔案,先用find找到檔案,然後複製找到的路徑用上一題用過的cat就能成功得到flag~
解題前小教室:
grep
在檔案中搜尋符合條件的文字模式,並輸出包含該模式的行
也可以與其他命令結合使用,用於篩選或處理文字資料
用法:grep [選項] "文字" 檔案
-i
忽略大小寫-r或-R
遞歸搜尋目錄中的檔案-v
反向搜尋,只顯示不匹配的行-w
僅匹配完整的單詞,而不是部分匹配。🌰搜尋 cat 不會匹配 catalog:grep -w "cat" filename
-o
只顯示匹配的部分,而不是整行-E
啟用擴展正則表達式🌰搜尋以 apple 開頭並以 .txt 結尾的行:grep -E "^apple.*\\.txt$" file.txt
基本正則表達式:🌰搜尋 a 或 b:grep "a\\|b" filename
strings
從檔案中提取可讀文字,也可以用於其他類型的檔案
用法:strings [選項] 檔案
-n
指定顯示最小長度為 n 的字符串 ex:strings -n 4 檔名-t
可以顯示每個字符串的偏移量(描述資料在檔案中的位置) 🌰某個字符串的偏移量是 0x10,則表示這個字符串在檔案中從第 16 個字節開始
pipe
將一個命令的輸出傳遞給另一個命令的機制
符號是|
命令1 | 命令2
命令1的輸出會作為命令2的輸入
這題可以直接在檔案中搜尋符合CTF的內容,就可以找到flag了!
第二種解法是運用pipe,先用cat得到檔案內容或是用strings得到檔案中的可讀文字再用grep搜尋其中符合CTF的部分
以上就是今天的內容啦~明天會教跟git相關的指令~
想看更多,記得明天再來喔~